home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 2000 July: Mac OS SDK / Dev.CD Jul 00 SDK2.toast / Development Kits / Cross Platform / QuickTime 4.1.2 Windows SDK / CIncludes / CoreFoundation / CFCharacterSet.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-04-12  |  4.4 KB  |  181 lines  |  [TEXT/R*ch]

  1. /*
  2.      File:        CFCharacterSet.h
  3.  
  4.      Contains:    CoreFoundation character sets
  5.  
  6.      Version:    Technology:    Mac OS X
  7.                  Release:    QuickTime 4.1
  8.  
  9.      Copyright:    (c) 1999 by Apple Computer, Inc., all rights reserved
  10.  
  11.      Bugs?:        For bug reports, consult the following page on
  12.                  the World Wide Web:
  13.  
  14.                      http://developer.apple.com/bugreporter/
  15.  
  16. */
  17. #ifndef __COREFOUNDATION_CFCHARACTERSET__
  18. #define __COREFOUNDATION_CFCHARACTERSET__
  19.  
  20. #ifndef __COREFOUNDATION_CFBASE__
  21.     #include <CoreFoundation\CFBase.h>
  22. #endif
  23.  
  24. #ifndef __COREFOUNDATION_CFSTRING__
  25.     #include <CoreFoundation\CFString.h>
  26. #endif
  27.  
  28. #ifndef __COREFOUNDATION_CFDATA__
  29.     #include <CoreFoundation\CFData.h>
  30. #endif
  31.  
  32.  
  33.  
  34.  
  35. #if PRAGMA_ONCE
  36. #pragma once
  37. #endif
  38.  
  39. #ifdef __cplusplus
  40. extern "C" {
  41. #endif
  42.  
  43. #if PRAGMA_IMPORT
  44. #pragma import on
  45. #endif
  46.  
  47. #if PRAGMA_STRUCT_ALIGN
  48.     #pragma options align=mac68k
  49. #elif PRAGMA_STRUCT_PACKPUSH
  50.     #pragma pack(push, 2)
  51. #elif PRAGMA_STRUCT_PACK
  52.     #pragma pack(2)
  53. #endif
  54.  
  55. #if PRAGMA_ENUM_ALWAYSINT
  56.     #pragma enumsalwaysint on
  57. #elif PRAGMA_ENUM_OPTIONS
  58.     #pragma option enum=int
  59. #elif PRAGMA_ENUM_PACK
  60.     #if __option(pack_enums)
  61.         #define PRAGMA_ENUM_PACK__COREFOUNDATION_CFCHARACTERSET__
  62.     #endif
  63.     #pragma options(!pack_enums)
  64. #endif
  65.  
  66. typedef const struct __CFCharacterSet * CFCharacterSetRef;
  67. typedef struct __CFCharacterSet * CFMutableCharacterSetRef;
  68. /* Used by CFCharacterSetCreateWithPredefinedSet */
  69.  
  70. enum CFCharacterSetPredefinedSet {
  71.     kCFCharacterSetControl        = 1,
  72.     kCFCharacterSetWhitespace    = 2,
  73.     kCFCharacterSetWhitespaceAndNewline = 3,
  74.     kCFCharacterSetDecimalDigit    = 4,
  75.     kCFCharacterSetLetter        = 5,
  76.     kCFCharacterSetLowercaseLetter = 6,
  77.     kCFCharacterSetUppercaseLetter = 7,
  78.     kCFCharacterSetNonBase        = 8,
  79.     kCFCharacterSetDecomposable    = 9,
  80.     kCFCharacterSetAlphaNumeric    = 10,
  81.     kCFCharacterSetPunctuation    = 11,
  82.     kCFCharacterSetIllegal        = 12
  83. };
  84. typedef enum CFCharacterSetPredefinedSet CFCharacterSetPredefinedSet;
  85.  
  86. /* CFCharacterSet type ID */
  87. EXTERN_API_C( CFTypeID )
  88. CFCharacterSetGetTypeID            (void);
  89.  
  90. /*** CharacterSet creation ***/
  91. /* Functions to create basic immutable characterset. */
  92. EXTERN_API_C( CFCharacterSetRef )
  93. CFCharacterSetGetPredefined        (CFCharacterSetPredefinedSet  theSetIdentifier);
  94.  
  95. EXTERN_API_C( CFCharacterSetRef )
  96. CFCharacterSetCreateWithCharactersInRange (CFAllocatorRef  alloc,
  97.                                  CFRange                 theRange);
  98.  
  99. EXTERN_API_C( CFCharacterSetRef )
  100. CFCharacterSetCreateWithCharactersInString (CFAllocatorRef  alloc,
  101.                                  CFStringRef             theString);
  102.  
  103. EXTERN_API_C( CFCharacterSetRef )
  104. CFCharacterSetCreateWithBitmapRepresentation (CFAllocatorRef  alloc,
  105.                                  CFDataRef                 theData);
  106.  
  107. /* Functions to create mutable characterset. */
  108. EXTERN_API_C( CFMutableCharacterSetRef )
  109. CFCharacterSetCreateMutable        (CFAllocatorRef         alloc);
  110.  
  111. EXTERN_API_C( CFMutableCharacterSetRef )
  112. CFCharacterSetCreateMutableCopy    (CFAllocatorRef         alloc,
  113.                                  CFCharacterSetRef         theSet);
  114.  
  115. /*** Basic accessors ***/
  116. EXTERN_API_C( Boolean )
  117. CFCharacterSetIsCharacterMember    (CFCharacterSetRef         theSet,
  118.                                  UniChar                 theChar);
  119.  
  120. EXTERN_API_C( CFDataRef )
  121. CFCharacterSetCreateBitmapRepresentation (CFAllocatorRef  alloc,
  122.                                  CFCharacterSetRef         theSet);
  123.  
  124. /*** MutableCharacterSet functions ***/
  125. EXTERN_API_C( void )
  126. CFCharacterSetAddCharactersInRange (CFMutableCharacterSetRef  theSet,
  127.                                  CFRange                 theRange);
  128.  
  129. EXTERN_API_C( void )
  130. CFCharacterSetRemoveCharactersInRange (CFMutableCharacterSetRef  theSet,
  131.                                  CFRange                 theRange);
  132.  
  133. EXTERN_API_C( void )
  134. CFCharacterSetAddCharactersInString (CFMutableCharacterSetRef  theSet,
  135.                                  CFStringRef             theString);
  136.  
  137. EXTERN_API_C( void )
  138. CFCharacterSetRemoveCharactersInString (CFMutableCharacterSetRef  theSet,
  139.                                  CFStringRef             theString);
  140.  
  141. EXTERN_API_C( void )
  142. CFCharacterSetUnion                (CFMutableCharacterSetRef  theSet,
  143.                                  CFCharacterSetRef         theOtherSet);
  144.  
  145. EXTERN_API_C( void )
  146. CFCharacterSetIntersect            (CFMutableCharacterSetRef  theSet,
  147.                                  CFCharacterSetRef         theOtherSet);
  148.  
  149. EXTERN_API_C( void )
  150. CFCharacterSetInvert            (CFMutableCharacterSetRef  theSet);
  151.  
  152.  
  153. #if PRAGMA_ENUM_ALWAYSINT
  154.     #pragma enumsalwaysint reset
  155. #elif PRAGMA_ENUM_OPTIONS
  156.     #pragma option enum=reset
  157. #elif defined(PRAGMA_ENUM_PACK__COREFOUNDATION_CFCHARACTERSET__)
  158.     #pragma options(pack_enums)
  159. #endif
  160.  
  161. #if PRAGMA_STRUCT_ALIGN
  162.     #pragma options align=reset
  163. #elif PRAGMA_STRUCT_PACKPUSH
  164.     #pragma pack(pop)
  165. #elif PRAGMA_STRUCT_PACK
  166.     #pragma pack()
  167. #endif
  168.  
  169. #ifdef PRAGMA_IMPORT_OFF
  170. #pragma import off
  171. #elif PRAGMA_IMPORT
  172. #pragma import reset
  173. #endif
  174.  
  175. #ifdef __cplusplus
  176. }
  177. #endif
  178.  
  179. #endif /* __COREFOUNDATION_CFCHARACTERSET__ */
  180.  
  181.